package com.chixing.VO;


import java.math.BigDecimal;
import java.time.LocalTime;
import java.util.List;

public class MovieDetailVO {

    // 影院信息
    private String cinemaName;
    private String cinemaAddress;
    private String phone;
    private String cinemaImage;

    // 电影列表
    private List<MovieInfo> movieList;

    public MovieDetailVO(String cinemaName, String cinemaAddress, String phone, String cinemaImage, List<MovieInfo> movieList) {
        this.cinemaName = cinemaName;
        this.cinemaAddress = cinemaAddress;
        this.phone = phone;
        this.cinemaImage = cinemaImage;
        this.movieList = movieList;
    }
    public MovieDetailVO(){}

    // getter 和 setter 方法
    public String getCinemaName() {
        return cinemaName;
    }

    public void setCinemaName(String cinemaName) {
        this.cinemaName = cinemaName;
    }

    public String getCinemaAddress() {
        return cinemaAddress;
    }

    public void setCinemaAddress(String cinemaAddress) {
        this.cinemaAddress = cinemaAddress;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getCinemaImage() {
        return cinemaImage;
    }

    public void setCinemaImage(String cinemaImage) {
        this.cinemaImage = cinemaImage;
    }

    public List<MovieInfo> getMovieList() {
        return movieList;
    }

    public void setMovieList(List<MovieInfo> movieList) {
        this.movieList = movieList;
    }

    @Override
    public String toString() {
        return "MovieDetailVO{" +
                "cinemaName='" + cinemaName + '\'' +
                ", cinemaAddress='" + cinemaAddress + '\'' +
                ", phone='" + phone + '\'' +
                ", cinemaImage='" + cinemaImage + '\'' +
                ", movieList=" + movieList +
                '}';
    }

    // 电影信息内部类
    public static class MovieInfo {
        private Integer movieId;
        private String movieImage;
        private String movieName;
        private BigDecimal score;
        private Integer durationMinutes;
        private String movieType;
        private String actors;
        private List<ScheduleInfo> scheduleList;

        public MovieInfo(Integer movieId,String movieImage, String movieName, BigDecimal score, Integer durationMinutes, String movieType, String actors, List<ScheduleInfo> scheduleList) {
            this.movieId = movieId;
            this.movieImage = movieImage;
            this.movieName = movieName;
            this.score = score;
            this.durationMinutes = durationMinutes;
            this.movieType = movieType;
            this.actors = actors;
            this.scheduleList = scheduleList;
        }
        public MovieInfo(){}

        // getter 和 setter 方法

        public Integer getMovieId() {
            return movieId;
        }

        public void setMovieId(Integer movieId) {
            this.movieId = movieId;
        }

        public String getMovieImage() {
            return movieImage;
        }

        public void setMovieImage(String movieImage) {
            this.movieImage = movieImage;
        }

        public String getMovieName() {
            return movieName;
        }

        public void setMovieName(String movieName) {
            this.movieName = movieName;
        }

        public BigDecimal getScore() {
            return score;
        }

        public void setScore(BigDecimal score) {
            this.score = score;
        }

        public Integer getDurationMinutes() {
            return durationMinutes;
        }

        public void setDurationMinutes(Integer durationMinutes) {
            this.durationMinutes = durationMinutes;
        }

        public String getMovieType() {
            return movieType;
        }

        public void setMovieType(String movieType) {
            this.movieType = movieType;
        }

        public String getActors() {
            return actors;
        }

        public void setActors(String actors) {
            this.actors = actors;
        }

        public List<ScheduleInfo> getScheduleList() {
            return scheduleList;
        }

        public void setScheduleList(List<ScheduleInfo> scheduleList) {
            this.scheduleList = scheduleList;
        }

        @Override
        public String toString() {
            return "MovieInfo{" +
                    "movieImage='" + movieImage + '\'' +
                    ", movieName='" + movieName + '\'' +
                    ", score=" + score +
                    ", durationMinutes=" + durationMinutes +
                    ", movieType='" + movieType + '\'' +
                    ", actors='" + actors + '\'' +
                    ", scheduleList=" + scheduleList +
                    '}';
        }
    }

    // 场次信息内部类
    public static class ScheduleInfo {
        private Integer scheduleId;
        private LocalTime startTime;
        private String hallName;
        private BigDecimal price;

        public ScheduleInfo(LocalTime startTime, String hallName, BigDecimal price) {
            this.startTime = startTime;
            this.hallName = hallName;
            this.price = price;
        }
        public ScheduleInfo(){}

        // getter 和 setter 方法
        public LocalTime getStartTime() {
            return startTime;
        }

        public void setStartTime(LocalTime startTime) {
            this.startTime = startTime;
        }

        public String getHallName() {
            return hallName;
        }

        public void setHallName(String hallName) {
            this.hallName = hallName;
        }

        public BigDecimal getPrice() {
            return price;
        }

        public void setPrice(BigDecimal price) {
            this.price = price;
        }

        public Integer getScheduleId() {
            return scheduleId;
        }

        public void setScheduleId(Integer scheduleId) {
            this.scheduleId = scheduleId;
        }

        @Override
        public String toString() {
            return "ScheduleInfo{" +
                    "startTime=" + startTime +
                    ", hallName='" + hallName + '\'' +
                    ", price=" + price +
                    ", scheduleId=" + scheduleId +
                    '}';
        }
    }


}